// @flow
import React, { Component } from 'react'
import LimitGrid from './LimitGrid'
import LimitActions from './LimitActions'
import styles from './LimitGrid.css'
import LimitSetting from './LimitSetting'

type States = {
  columnDefs: Array<Object>,
  rowData: Array<Object>
}

type Props = {
  limitsData: Array<Object>,
  refreshLimit: Function
}
class Limits extends Component {
  props: Props
  state: States
  constructor (props: Props) {
    super(props)
    this.state = {
      columnDefs: [
        {
          headerName: '阈值名称',
          field: 'name',
          cellStyle: {
            'padding': '8px',
            'text-align': 'center'
          }
        },
        {
          headerName: '阈值规则',
          field: 'rule',
          cellStyle: {
            'padding': '8px',
            'text-align': 'center'
          },
          cellRendererFramework: LimitSetting
        },
        {
          headerName: '阈值',
          field: 'value',
          cellStyle: {
            'padding': '8px',
            'text-align': 'center'
          }
        },
        {
          headerName: '操作',
          cellStyle: {
            'padding': '8px',
            'text-align': 'center'
          },
          cellRendererParams: {
            refreshLimit: this.props.refreshLimit
          },
          cellRendererFramework: LimitActions
        }
      ],
      rowData: []
    }
  }

  render () {
    const { columnDefs } = this.state
    const { limitsData } = this.props
    return (
      <div>
        <div className={styles['title']}
          >阈值：</div>
        <LimitGrid {...{
          columnDefs,
          rowData: limitsData
        }} />
      </div>
    )
  }
}

export default Limits
